/** * Document Name: Neuron API - v2.0.0 * Developed By : digitalscorpions.in */ !(function($) { "use strict"; // Prevent # / blank link to jump to top $("a[href='#']").on("click", function(e) { e.preventDefault(); }); // Smooth scroll for the navigation menu and links with .scrollto classes var scrolltoOffset = $('#header').outerHeight() - 1; $(document).on('click', '.nav-menu a, .mobile-nav a, .scrollto', function(e) { if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { var target = $(this.hash); if (target.length) { e.preventDefault(); var scrollto = target.offset().top - scrolltoOffset; if ($(this).attr("href") == '#header') { scrollto = 0; } $('html, body').animate({ scrollTop: scrollto }, 1500, 'easeInOutExpo'); if ($(this).parents('.nav-menu, .mobile-nav').length) { $('.nav-menu .active, .mobile-nav .active').removeClass('active'); $(this).closest('li').addClass('active'); } if ($('body').hasClass('mobile-nav-active')) { $('body').removeClass('mobile-nav-active'); $('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close'); $('.mobile-nav-overly').fadeOut(); } return false; } } }); // Activate smooth scroll on page load with hash links in the url $(document).ready(function() { if (window.location.hash) { var initial_nav = window.location.hash; if ($(initial_nav).length) { var scrollto = $(initial_nav).offset().top - scrolltoOffset; $('html, body').animate({ scrollTop: scrollto }, 1500, 'easeInOutExpo'); } } }); // Navigation active state on scroll var nav_sections = $('section'); var main_nav = $('.nav-menu, .mobile-nav'); $(window).on('scroll', function() { var cur_pos = $(this).scrollTop() + 200; nav_sections.each(function() { var top = $(this).offset().top, bottom = top + $(this).outerHeight(); if (cur_pos >= top && cur_pos <= bottom) { if (cur_pos <= bottom) { main_nav.find('li').removeClass('active'); } main_nav.find('a[href="#' + $(this).attr('id') + '"]').parent('li').addClass('active'); } if (cur_pos < 300) { $(".nav-menu ul:first li:first, .mobile-menu ul:first li:first").addClass('active'); } }); }); // Mobile Navigation if ($('.nav-menu').length) { var $mobile_nav = $('.nav-menu').clone().prop({ class: 'mobile-nav d-lg-none' }); $('body').append($mobile_nav); $('body').prepend(''); $('body').append('
'); $(document).on('click', '.mobile-nav-toggle', function(e) { $('body').toggleClass('mobile-nav-active'); $('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close'); $('.mobile-nav-overly').toggle(); }); $(document).on('click', '.mobile-nav .drop-down > a', function(e) { e.preventDefault(); $(this).next().slideToggle(300); $(this).parent().toggleClass('active'); }); $(document).click(function(e) { var container = $(".mobile-nav, .mobile-nav-toggle"); if (!container.is(e.target) && container.has(e.target).length === 0) { if ($('body').hasClass('mobile-nav-active')) { $('body').removeClass('mobile-nav-active'); $('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close'); $('.mobile-nav-overly').fadeOut(); } } }); } else if ($(".mobile-nav, .mobile-nav-toggle").length) { $(".mobile-nav, .mobile-nav-toggle").hide(); } // Toggle .header-scrolled class to #header when page is scrolled $(window).scroll(function() { if ($(this).scrollTop() > 100) { $('#header').addClass('header-scrolled'); $('#topbar').addClass('topbar-scrolled'); } else { $('#header').removeClass('header-scrolled'); $('#topbar').removeClass('topbar-scrolled'); } }); if ($(window).scrollTop() > 100) { $('#header').addClass('header-scrolled'); $('#topbar').addClass('topbar-scrolled'); } // Preloader $(window).on('load', function() { if ($('#preloader').length) { $('#preloader').delay(100).fadeOut('slow', function() { $(this).remove(); }); } }); })(jQuery); //--- Utility for showing messages function showMessage(mIcon, mMessage){ mParentTag = "ds_system_message"; mBtnClass = "text-white"; mClass = "ds-msg rounded p-1 m-1 align-middle"; switch(mIcon) { case "success": mClass += " bg-success text-white"; break; case "error": mClass += " bg-danger text-white"; break; case "warning": mClass += " bg-warning"; mBtnClass = "text-dark"; break; default: mClass += " bg-info text-white"; break; } $("#" + mParentTag).append($("
").addClass(mClass).html("
" + mMessage + "
").delay(10000).hide("slow", "swing", function() { $(this).remove(); })); $("#" + mParentTag + " td:last").append($("").prop("href", "#").addClass(mBtnClass).html("").on("click", function (e) { e.preventDefault(); $(this).parents('.ds-msg').hide(); })); } //--- Utility for Deleting row in DS Upload Field Box function DeleteFile(btn){ //-- Show Loading const mPrvStat = btn.html(); const nm = btn.attr('FileNm'); btn.html("
"); $.post('assets/php/uploader.php', {func: 'delete_file', file: nm}, function(result){ btn.html(mPrvStat); if(result.indexOf('||') >=0){ var res = result.split('||'); if(res[0] == 'success') btn.parent().slideUp('slow', function(){$(this).remove();}); showMessage(res[0], res[1]); } else { showMessage('info', result); } }); } //--- Utility for Renaming file in DS Upload Field Box function RenameFile(fld){ if(fld.attr('oldval') != fld.text()){ const nm = fld.attr('FileNm'); const onm = fld.attr('oldval'); const nnm = fld.text(); fld.html(""); $.post('assets/php/uploader.php', {func: 'rename_file', file: nm, new_name: nnm, short_name : nm.substr(nm.indexOf('-')+1)}, function(result){ fld.text(nnm); if(result.indexOf('||') >=0){ var res = result.split('||'); if(res[0] == 'error') fld.text(onm); else fld.attr('FileNm', fld.attr('FileNm').replace(onm,nnm)); showMessage(res[0], res[1]); } else { fld.text(onm); showMessage('info', result); } }); } } //--- Utility for opening page in modal dialog box function resetDialogs(){ $(".ds-dialog.ds-mazimized").dialog({ width: $(window).width(), height: $(window).height(), }); $("#lst").addClass('d-none').removeClass('position-fixed'); } function showDialog(mTitle, mTarget){ let winW = $(window).width(), winModal = true; if (screen.width > 900) { winW = $(window).width() * 70 / 100; winModal = false; } $( "
" ) .dialog({ title : "Ayur Skaan :: " + mTitle, width: winW, minWidth: 350, height: $(window).height(), modal: winModal, resizable: true, draggable: true, autoOpen: false, closeOnEscape: true, show: { effect: "blind", duration: 500 }, hide: { effect: "blind", duration: 500 }, open: function(){ if(screen.width > 900){ $(this).removeClass('ds-mazimized'); btn = $(this).parent().find("button.ui-dialog-titlebar-close").clone(); btn.addClass('p-0 mr-4 float-right').attr('title', 'Reshape').find('.ui-icon-closethick').removeClass('ui-icon-closethick').addClass('ui-icon-newwin'); //--- Mazimise / Restore Doalogue btn.click(function(){ obj = $(this).parent().next('.ds-dialog'); obj.toggleClass('ds-mazimized'); if(obj.hasClass("ds-mazimized")){ obj.prop('original-top', obj.parent().position().top) obj.prop('original-left', obj.parent().position().left) obj.prop('original-height', obj.parent().height() + 8) obj.prop('original-width', obj.parent().width()) obj.dialog({ resizable: false, draggable: false, position: { my: 'left top', at: 'left top', of: $(window) } }); resetDialogs(); } else { obj.dialog({ resizable: true, draggable: true, height: obj.prop('original-height'), width: obj.prop('original-width'), position: { my: 'left top', at: 'left+' + obj.prop('original-left') + ' top+' + obj.prop('original-top'), of: $(window) } }); } }); $(this).parent().find(".ui-dialog-titlebar").append(btn); } }, close: function () { $(this).dialog('destroy'); } }) .parent() .css({ position: "fixed" }) .end() .dialog('open') .find('iframe').attr('src', mTarget); } $(document).ready(function() { $(window).on('resize', function() { resetDialogs(); }); }); //--- Utility for loading form in Div on click on list function loadForm(mTitle, mAction, mTarget){ mTitle = ((mTitle=='New Record') ? 'Add : ' : 'Edit : ') + mTitle; mTarget.find('#secTitle').html("" + mTitle); distributeData(mTarget.find('#secBody')); const a = mAction.split('?'); $.ajax({ type: 'POST', url: a[0], data: a[1], success: function(result) { mTarget.find('#secTitle').html(mTitle); if(result.indexOf('||') >=0){ var res = result.split('||'); showMessage(res[0], res[1]); } else { distributeData(mTarget.find('#secBody'), result); } } }); } function distributeData(mTarget, result = '') { //--- Initialize form mTarget.find('.form-group .validate').hide('blind'); mTarget.find('.form-group :input:not(#submit-mode, [data-toggle=toggle])').val(''); mTarget.find('.form-group select').selectpicker('refresh'); //mTarget.find('.form-group input[data-toggle=toggle]').prop('checked', false).change(); if(!result) return true; //--- Populate form var res = $.parseJSON(result); mTarget.find('.form-group').each(function() { $(this).find(':input').each(function() { if(typeof $(this).attr('id') !== 'undefined' && typeof res[0][$(this).attr('id')] !== 'undefined'){ //alert($(this).attr('name') + ' : ' + res[0][$(this).attr('id')]); if($(this).attr('data-toggle') == 'toggle'){ $(this).prop('checked', (res[0][$(this).attr('id')]==1) ? true : false).change(); } else { $(this).val(res[0][$(this).attr('id')]); } $(this).hasClass('selectpicker') && $(this).selectpicker('refresh'); } }); }); }